package com.h3c.nem.dto;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;

import lombok.NoArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * Copyright (C), 2020-2020, h3c
 * FileName: TbTrainWorkerDTO
 *
 * @Author: j26296
 * @Date: 2022-06-20
 * Description: tb_train_worker dto实体
 * Version: 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
public class TbTrainWorkerDTO {

    /**
     * 班级ID
     */
    private String classId;

    /**
     * 学员工号
     */
    private String workerId;

    /**
     * 学员姓名
     */
    private String workerName;

    /**
     * 数据来源：1 PSA导入； 2 新员工系统主动报名
     */
    private Integer dataSource;

    /**
     * 报名时间（或PSA导入时间）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="Asia/Shanghai")
    private Date signTime;

    /**
     * 报名时所属部门
     */
    private String deptNameChain;

    /**
     * 培训时的直接主管姓名/工号
     */
    private String trainDeptManager;

    /**
     * 致未来一封信状态：待启动；填写中；已提交；已推送；
     */
    private Integer letterStatus;

    /**
     * 信件标题
     */
    private String letterTitle;

    /**
     * 信件内容
     */
    private String letterContent;

    /**
     * 信件提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="Asia/Shanghai")
    private Date letterCommitTime;

    /**
     * 计划推送日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="Asia/Shanghai")
    private Date planPushDate;

    /**
     * 实际推送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="Asia/Shanghai")
    private Date realPushDate;

    /**
     * 是否需要发起一封信任务：1 需要；2 不需要；
     */
    private Integer writeLetterFlag;

    /**
     * 是否需要推送一封信任务：1 需要；2 不需要；
     */
    private Integer pushLetterFlag;

    private String remark;

    /**
     * 排序字段 + 升序， -降序
     * 比如 +updateTime 根据 修改时间升序排序，-updateTime 根据 修改时间降序排序
     */
    private String orderBy;

    private Integer buttonType;
    private String docid;
    private String checkTime;

}
